<?php

    global $mikron;

    $success_format = '<div class="success_box">%s</div>';
    $error_format = '<div class="error_box">%s</div>';

    // Если не залогинен, тогда здесь вообще нечего делать
    if(!$mikron->Users->Logged())
    {
        return;
    }

    // Текущий пользователь
    $user = $mikron->Users->CurrentUser()->user;

    // Если нажата кнопка закрытия тендера
    if(isset($_GET['closetender']))
    {
        try
        {
            $tenderID = (int)$_GET['closetender'];
            $tender = $mikron->Queries->QueryOne('TENDER', $tenderID, new Criterion('user', $user->id));
            if($tender instanceof TENDER)
            {
                $tender->state->value = 2;
                $tender->Save();
                $mikron->Tools->GoToPage($mikron->Tools->MakePath('?closed='.$tenderID));
            }
        }
        catch(Exception $ex)
        {
            echo sprintf($error_format, 'Ошибка закрытия тендера, пожалуйста попробуйте еще раз.');
        }
    }
    if(isset($_GET['opentender']))
    {
        try
        {
            $tenderID = (int)$_GET['opentender'];
            $tender = $mikron->Queries->QueryOne('TENDER', $tenderID, new Criterion('user', $user->id));
            if($tender instanceof TENDER)
            {
                $tender->state->value = 1;
                $tender->Save();
                $mikron->Tools->GoToPage($mikron->Tools->MakePath('?opened='.$tenderID));            
            }
        }
        catch(Exception $ex)
        {
            echo sprintf($error_format, 'Ошибка открытия тендера, пожалуйста попробуйте еще раз.');
        }
    }
    elseif(isset($_GET['closed']))
    {
        echo sprintf($success_format, 'Тендер успешно закрыт.');        
    }
    elseif(isset($_GET['opened']))
    {
        echo sprintf($success_format, 'Тендер успешно открыт.');        
    }

    // Открытые тендеры текущего пользователя
    $cr = new Criteria();
    $cr->Add(new Criterion('user', $user->id));
    $cr->Add(new Criterion('state', $show_states));
    $tenders = $mikron->Queries->Query('TENDER', null, $cr);
    $count = 0;

    $table = new html_table(2, 'customer_tenders_table', '100%', 0, 16);
    while($tender = $tenders->fetch())
    {
      $count++;
      $comment = null;
      $name = $tender->name->value;
      $createDate = $tender->dt->value;
      $createDate = $mikron->Tools->DateTime->BeautifulDate(strtotime($createDate), true); // date($mikron->Constants->DateFormatToString, strtotime())
      $views = $tender->views->value;
      $messages = $tender->messages->value;
      $views_count = $views->count();
      $messages_count = $messages->count();
      $curator = $tender->curator->value;
      $country = $tender->country->value->name->value;
      $city = $tender->city->value->name->value;
      $description = $tender->description->value;
      $condition = $tender->condition->value;
      
      $table->newcol($name, false, null, null, 'tender_caption_row', '320', 'middle', null);
      $table->newcol(null, false, 'right', null, 'tender_caption_row', null, 'middle', null);      

      echo sprintf('<a href="%s" title="Изменить атрибуты Тендера">Редактировать</a>', $mikron->Tools->MakePath('?edtender='.$tender->id)), ' | ';
      
      // Ссылка открытия либо закрытия тендера
      if($tender->state->value == 1)
      {
        echo sprintf('<a href="%s" onclick="return confirm(\'Вы уверены в том, что хотите закрыть данный Тендер?\');" title="Закрыть Тендер">Закрыть Тендер</a>', $mikron->Tools->MakePath('?closetender='.$tender->id));
      }
      else
      {
        echo sprintf('<a href="%s" onclick="return confirm(\'Вы уверены в том, что хотите открыть данный Тендер?\');" title="Открыть Тендер">Открыть Тендер</a>', $mikron->Tools->MakePath('?opentender='.$tender->id));
      }

      // echo sprintf('{{slidewindow caption="%s" showtext="Редактировать" hidetext="Отмена" comment="%s"}}', $name, $comment);

        $table->newcol(null, false, null, null, null, null, 'top');
            $table2 = new html_table(2, null, null, 0, 4);
                $table2->newcol('Предложения исполнителей:', null, null, null, 'header3');
                $table2->newcol();
                $table2->newcol('Сообщений:', null, null, null, 'header3');
                $table2->newcol($views_count);
                $table2->newcol('Просмотров:', null, null, null, 'header3');
                $table2->newcol($views_count);
                $table2->newcol('Размещен:', null, null, null, 'header3');
                $table2->newcol($createDate, true);
            $table2->end();
        $table->newcol();
            echo sprintf('
            <span class="info_block"><span class="header3">Название Тендера:</span> %s</span>
            <span class="info_block"><span class="header3">Регион:</span> %s</span>
            <span class="info_block"><span class="header3">Описание:</span><br />%s</span>
            <span class="info_block"><span class="header3">Условия:</span><br />%s</span>
            <span class="info_block"><span class="header3">Куратор:</span> %s</span>', $name, $country.', '.$city, $description, $condition, $curator);

      // echo '{{/slidewindow}}';
    }
    $table->end();

    if($count == 0)
    {
        if($show_states == 1)
        {
            echo $mikron->getVariable('TENDER_OPEN_NOT_FOUND', 'В этом разделе нет Тендеров, потому что Вы еще не создали ни одного Тендера.');
        }
        elseif($show_states == 2)
        {
            echo $mikron->getVariable('TENDER_CLOSE_NOT_FOUND', 'В этом разделе нет Тендеров, потому что Вы еще не создали ни одного Тендера.');            
        }
    }
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
?>